Stage effects console for stage controlling system

ABSTRACT

A controlling console for moving elements such as trusses and winches. A console body has a display screen, and a processor which is programmed to produce an output screen on the display screen which accepts controls for controlling at least one movable device. The output screen includes a plurality of different logical blocks which are connected together. Values and conditions such as true, false, rising edge or error can be entered. The console arranges this into a flow arrangement.

This application claims priority from provisional application No.61/218,927, filed Jun. 20, 2009, the entire contents of which areherewith incorporated by reference.

BACKGROUND

Today's lighting systems often include multiple different pieces ofequipment which are connected together in a number of different ways.For example, a stage lighting system may include lights and props, anumber of trusses, winches, and other devices which operate together ina specified way.

Many of these devices are mounted off the ground. Consequently, safetyis very important. Moreover, many of these devices, such as trusses andother such devices, are moveable using remote controls to effect themovement.

SUMMARY

-   -   The present application describes a controller, e.g., a console        which can be used to control the position of these stage parts,        e.g., lights, trusses, winches, etc. The console allows defining        sets of rules about how to and when to control the movement of        the various items.

BRIEF DESCRIPTION OF THE DRAWINGS

-   -   in the drawings:

FIG. 1 shows a basic console control abstraction;

FIG. 2 shows a flow of console control;

FIG. 3 shows the screen which can be used to form a console controlmodule;

FIG. 4 shows a graphical profile which can be used according to thepresent system;

FIG. 5 shows an exemplary console which can be used according to thepresent system.

DETAILED DESCRIPTION

FIG. 1 shows the basic controls enabled by the console system. A screen100 includes a number of selectable parts. Each part, such as 102, canbe associated with a moveable device and set parameters for the device.The part in FIG. 1 is shown as tower 1. The part can be formed to hold adevice within a stage lighting environment. For example, these could betowers or truss pieces, or any device that is held by, moved by and/orcontrollable via a winch or other controllable device.

For each selected device, there can be a parameter 104, here “position”or “pos”, so that the position of the tower is controlled. The positionis selected as 104; and the value of the position is shown as 106.

-   -   The parameter can be an “interlock” in one embodiment that can        prevent or limit some action of the device. For example, the        interlock can prevent a piece from coming within 6 feet of the        floor, or prevent movement of the peace at a speed greater than        2 m/s. The parameters can be manually entered, or can be        selected from a drop-down list of specific parameters. For        example, when tower 102 is selected, the different parameters        and interlocks that are associated with tower 102 can thereafter        be selected.

In one embodiment, a device can be instructed to publish its positionand/or speed, location and/or velocity as 104. In the shown example, forexample, the tower 102 shows its position 104 causes the system to showits speed or velocity.

Each interlock and/or parameter can be controlled. For each of theitems, for example, different parameters can be selected, such asposition as in 104.

The parameter can also be used as part of a condition. FIG. 1 showsconditions including error at 114, false at 116, or true at 118. Theparameter can be used as part of a relation, as shown as rising edge108, falling edge 110, or level output following correlation 112. Any ofthese are selected graphically, by connecting to a graphical valueindicative of the relation or condition. For example, in the figure onthe drawing, a set of values is selected, tower one is selected with itsposition being 100, the equal to operator, and the true relationship at118. This creates a relationship that when tower one is equal toposition 100, the output 120 becomes active. The user can also selectfalse, so that when tower 1's position is not equal to 100, a differentoutput gets selected. For example, by connecting to the error line 114,an action can be taken on an error. That action could include, for anexample, “engage all emergency brakes”. By selecting among this set ofconditions as shown in FIG. 1, an output 120 is created which representstower 1 having a position value of 100, when true at 118, the systemadvances through position 120. This is the first of a set of conditions.

The output at condition 120 can be attached to another control box 122.This control box 122 may be the same as control box 100, or may bedifferent. The control box 122 is shown as a set for creating a timedelay. For example, this shows a time delay of 1 second. This means thatif the output 120 stays true as selected by condition 123 for a time ofone second, then the flow progresses to the next output or condition124.

Other controls can also be selected. A value match control, for example,may select values such as equal to, not equal to, greater than, lessthan, etc, referring to the value 106.

A resolution command 109 can also be provided, for example +/−1 one canbe one of the different resolutions. Any other resolution canalternatively be selected.

The control 110 allows selecting each of a plurality of these values.

This allows stage visualization and control via logic levels and flowsfor things that happen on the stage. These can be movements of thedifferent movable items on the stage.

Each control such as 100 can be a multipurpose box that can allowmultiple different commands to be generated. For example, the controlbox 100 can have all of the functionality shown in FIG. 1, oralternatively can have a reduced set of functionality.

FIG. 2 shows a general layout of how the different controls can beinterconnected. Each control box such as 100 can represent an operation.The control box 100 may represent the same information as in the controlbox 100 in FIG. 1. This operation is part of the overall stagevisualization. Once the operation 100 is complete, the system moves onto the next action. Here, the next action at 206 can be an “or”operator. Another control box 280 may be a time control box similar tothat in 122. This time control box is sent for 45 seconds. The output ofthe control box 208 also is sent to the or operator 206. If either thecontrol box 100 becomes true or the control box 208 becomes true, thenthe output 207 of the or operator 206 becomes active.

Parallel paths are also possible, so that in FIG. 1, output 120 mayrepresent the operation when this becomes true, but output 121represents the error output that may cause a halt and/or emergencybrakes.

Therefore, in FIG. 2, the box 100 represents the tower reaching itsposition=100, while the time box 208 represents a time of 45 secondsbecoming true. If either the tower reaches position=100, or if 45seconds elapses (at 208), then the “OR” function 206, progresses to thenext step 204. This set of rules therefore has the effect of moving onto step 204 once the tower reaches its position or when 45 seconds haselapsed even if the tower does not reach its position.

This allows creating logic to condition on certain actions as a seriesof rules. These rules can be any rules having to do with anything thatoccurs in a moving stage environment. Moreover, each of the logic boxesmay be graphically created.

In this way, a series of rules for movement of stage complements can begraphically created, and nested in the way that allows operations to becarried out in the desired way.

Any of these rules can relate to, for example, movable stage items suchas towers, winches and other movable items. Each item can be related toa “cue” caused by movement of different items. For any of the items,different limits or functions can be displayed related to the items.

FIG. 3 illustrates a cue visualization function for a moving devicewhich can be used as part of the controls 100. For example, oneselection in 100 instead of selecting tower one could select a cue byits number. The cue creation module creates a cue number at 300, andallows selection of the item being moved, e.g., rack 1, at 302. Acomputing device automatically detects the current position at 304, andthe target position is set at 306.

Movement parameters are set at 310. 310 allows selecting any ofacceleration 312, deceleration 314, time 316, or percentage of maximumvelocity 318. Any of these movement items at 310 can be chosen tocalculate the real world parameters to get the item from the currentposition 304 to the target position 310. These set the way that the rack1 is moved to its target position. A processor in the systemautomatically calculates the way in which movement will be carried outbased on the entered value.

The system can also calculate faults, over travel limits, communicationerrors, and the like at 320. These faults may include setting values forexample in 310 that are not possible, or faults of the movement itself.

The cues can be added as part of the items shown above, so that they canbe conditional, and do not run until the condition is set.

310 shows a textual based entry of data. Another embodiment uses agraphical profile such as shown in FIG. 4 in place of the item at 310.

The graphical profile can be a selection of the operation over time,where the x axis 450 is a time axis. In FIG. 4, the plot 452 can beposition, and 400 shows the target position. Any and all the points inbetween can have their values set, including acceleration 402, velocity404, or the like. At any point, the user can select an accelerationpoint, a velocity, lock against time, or position.

FIG. 5 illustrates the console 500 that can be used to enter any or allof these commands. The console 500 has displays 510, 511, each of whichhas selectable parts. The parts can be selected by trackball 520, or viaan externally selectable mouse. There are also button banks 525, 526,where the button banks 525 are each respectively associated withcommands such as 526 which appear on the screen. Encoders 527 each mayalso have selectable parts.

There are also slider controls 530, which can be used to controlparameters 531 which may be displayed as associated with the screen. Inaddition, in the graphical embodiment of FIG. 4, the slider bank 530 canbe used to pull the direction of any of the points in time, and or canbe used to select these points. The sliders preferably are selectablebetween multiple different sections. When the slider is at the lowermostportion 534, it causes the slider to be in a forced off state. Theslider at the uppermost section 532 is in a forced on state. Each of thesliders can be associated with a sub master bank 540. Any slider such as531 can be made active, at which time, there are submasters that becomeactive and are associated therewith. For example, the entire bank 540can be associated as a sub master bank for the control 531 at anyspecific time. This can set a number of different levels for the submaster, and the levels can be shown on either of the screens 510, 511,or on any other screen.

The submasters can also be digital, for example, that is only selectablebetween on and off.

The console 500 is connected via a connection 552 the main controllingcomputer 560. The controlling computer 560 can use a processor 561 whichis programmed according to the techniques described herein to carry outthe functions described herein. The front panel of the computer 560 mayhave indicator lights 562, and may also have an emergency off switch 563which forces automatic stopping of all controlled items.

Although only a few embodiments have been disclosed in detail above,other embodiments are possible and the inventors intend these to beencompassed within this specification. The specification describesspecific examples to accomplish a more general goal that may beaccomplished in another way. This disclosure is intended to beexemplary, and the claims are intended to cover any modification oralternative which might be predictable to a person having ordinary skillin the art. For example, other stage operated and operable devices canbe controlled in this way including winches and movable trusses, andmoving light holders.

Those of skill would further appreciate that the various illustrativelogical blocks, modules, circuits, and algorithm steps described inconnection with the embodiments disclosed herein may be implemented aselectronic hardware, computer software, or combinations of both. Toclearly illustrate this interchangeability of hardware and software,various illustrative components, blocks, modules, circuits, and stepshave been described above generally in terms of their functionality.Whether such functionality is implemented as hardware or softwaredepends upon the particular application and design constraints imposedon the overall system. Skilled artisans may implement the describedfunctionality in varying ways for each particular application, but suchimplementation decisions should not be interpreted as causing adeparture from the scope of the exemplary embodiments of the invention.

The various illustrative logical blocks, modules, and circuits describedin connection with the embodiments disclosed herein, may be implementedor performed with a general purpose processor, a Digital SignalProcessor (DSP), an Application Specific Integrated Circuit (ASIC), aField Programmable Gate Array (FPGA) or other programmable logic device,discrete gate or transistor logic, discrete hardware components, or anycombination thereof designed to perform the functions described herein.A general purpose processor may be a microprocessor, but in thealternative, the processor may be any conventional processor,controller, microcontroller, or state machine. The processor can be partof a computer system that also has a user interface port thatcommunicates with a user interface, and which receives commands enteredby a user, has at least one memory (e.g., hard drive or other comparablestorage, and random access memory) that stores electronic informationincluding a program that operates under control of the processor andwith communication via the user interface port, and a video output thatproduces its output via any kind of video output format, e.g., VGA, DVI,HDMI, displayport, or any other form.

A processor may also be implemented as a combination of computingdevices, e.g., a combination of a DSP and a microprocessor, a pluralityof microprocessors, one or more microprocessors in conjunction with aDSP core, or any other such configuration. These devices may also beused to select values for devices as described herein.

The steps of a method or algorithm described in connection with theembodiments disclosed herein may be embodied directly in hardware, in asoftware module executed by a processor, or in a combination of the two.A software module may reside in Random Access Memory (RAM), flashmemory, Read Only Memory (ROM), Electrically Programmable ROM (EPROM),Electrically Erasable Programmable ROM (EEPROM), registers, hard disk, aremovable disk, a CD-ROM, or any other form of storage medium known inthe art. An exemplary storage medium is coupled to the processor suchthat the processor can read information from, and write information to,the storage medium. In the alternative, the storage medium may beintegral to the processor. The processor and the storage medium mayreside in an ASIC. The ASIC may reside in a user terminal. In thealternative, the processor and the storage medium may reside as discretecomponents in a user terminal.

In one or more exemplary embodiments, the functions described may beimplemented in hardware, software, firmware, or any combination thereof.If implemented in software, the functions may be stored on ortransmitted over as one or more instructions or code on acomputer-readable medium. Computer-readable media includes both computerstorage media and communication media including any medium thatfacilitates transfer of a computer program from one place to another. Astorage media may be any available media that can be accessed by acomputer. By way of example, and not limitation, such computer-readablemedia can comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium that can be used to carry or store desired program code inthe form of instructions or data structures and that can be accessed bya computer. The memory storage can also be rotating magnetic hard diskdrives, optical disk drives, or flash memory based storage drives orother such solid state, magnetic, or optical storage devices. Also, anyconnection is properly termed a computer-readable medium. For example,if the software is transmitted from a website, server, or other remotesource using a coaxial cable, fiber optic cable, twisted pair, digitalsubscriber line (DSL), or wireless technologies such as infrared, radio,and microwave, then the coaxial cable, fiber optic cable, twisted pair,DSL, or wireless technologies such as infrared, radio, and microwave areincluded in the definition of medium. Disk and disc, as used herein,includes compact disc (CD), laser disc, optical disc, digital versatiledisc (DVD), floppy disk and blu-ray disc where disks usually reproducedata magnetically, while discs reproduce data optically with lasers.Combinations of the above should also be included within the scope ofcomputer-readable media. The computer readable media can be an articlecomprising a machine-readable non-transitory tangible medium embodyinginformation indicative of instructions that when performed by one ormore machines result in computer implemented operations comprising theactions described throughout this specification.

Operations as described herein can be carried out on or over a website.The website can be operated on a server computer, or operated locally,e.g., by being downloaded to the client computer, or operated via aserver farm. The website can be accessed over a mobile phone or a PDA,or on any other client. The website can use HTML code in any form, e.g.,MHTML, or XML, and via any form such as cascading style sheets (“CSS”)or other.

Also, the inventors intend that only those claims which use the words“means for” are intended to be interpreted under 35 USC 112, sixthparagraph. Moreover, no limitations from the specification are intendedto be read into any claims, unless those limitations are expresslyincluded in the claims. The computers described herein may be any kindof computer, either general purpose, or some specific purpose computersuch as a workstation. The programs may be written in C, or Java, Brewor any other programming language. The programs may be resident on astorage medium, e.g., magnetic or optical, e.g. the computer hard drive,a removable disk or media such as a memory stick or SD media, or otherremovable medium. The programs may also be run over a network, forexample, with a server or other machine sending signals to the localmachine, which allows the local machine to carry out the operationsdescribed herein.

Where a specific numerical value is mentioned herein, it should beconsidered that the value may be increased or decreased by 20%, whilestill staying within the teachings of the present application, unlesssome different range is specifically mentioned. Where a specifiedlogical sense is used, the opposite logical sense is also intended to beencompassed.

The previous description of the disclosed exemplary embodiments isprovided to enable any person skilled in the art to make or use thepresent invention. Various modifications to these exemplary embodimentswill be readily apparent to those skilled in the art, and the genericprinciples defined herein may be applied to other embodiments withoutdeparting from the spirit or scope of the invention. Thus, the presentinvention is not intended to be limited to the embodiments shown hereinbut is to be accorded the widest scope consistent with the principlesand novel features disclosed herein.

1. A controlling console, comprising a console body; a display screen,mounted in said console body; a processor which is programmed to producean output screen on said display screen which accepts controls forcontrolling at least one movable device, said output screen including aplurality of different logical blocks which are connected together,where at least a first of said logical blocks represents at least onemovable stage item being controlled, at least one parameter of said itembeing controlled according to values entered into said first logicalblock, and according to at least one characteristic of said parameter,where said first logical block defines a characteristic, which when met,causes advancement to a second logical block, and where said secondlogical block includes at least one parameter to be met, and where saidprocessor arranges said logical blocks into a flow arrangement, andcauses said item to be controlled to be controlled according toconditions in said first and second logical block.
 2. A console as inclaim 1, wherein said characteristic is true, and is met when theparameter meets said value.
 3. A console as in claim 1, wherein saidmovable stage item is a winch.
 4. A console as in claim 2, wherein saidsecond logical block controls a time delay during which saidcharacteristic must remain true.
 5. A console as in claim 1, whereinsaid at least one characteristic of the parameter allows selection ofall of true and false.
 6. A console as in claim 1, wherein at least onecharacteristic of the parameter allows selection of all of rising edgeand falling edge.
 7. A console as in claim 1, wherein said output screenshows said first and second logical blocks, and a flow between saidfirst and second logical blocks, and said processor allows changing theflow between said first and second logical blocks.
 8. A console as inclaim 1, wherein said item being controlled is a movable item, and saidat least one characteristic is a target position.
 9. A console as inclaim 8, further comprising plural different conditions to reach thetarget position, where any of said conditions cause a calculation whichdetermines an output value to use for said movable device to reach thetarget position.
 10. A console as in claim 9, wherein said pluraldifferent conditions include acceleration and percentage of maximumvelocity.
 11. A console as in claim 10, wherein when acceleration isentered, the processor calculates a movement profile based on saidacceleration by an amount that does not exceed said acceleration, andwhen said percentage of maximum value is entered, the processorcalculates the movement profile based on not exceeding said saidpercentage of maximum value.
 12. A console as in claim 9, furthercomprising a screen which shows a graphical profile showing saidconditions.
 13. A console as in claim 12, further comprising controlswhich allow modifying said profile graphically.
 14. A method, comprisingusing a computer which is programmed for defining a first condition fora first movable device on a stage, wherein said first condition includesinformation about movement of said first moving device, and wherein saidfirst condition includes an action to take on said first condition,where said action includes a graphical box indicative of the condition,and a plurality of different output conditions, wherein at least one ofsaid output conditions is true, where said one output condition producesan output when the action is true, another of said output conditions isfalse, and said another output condition produces said output conditionwhen said output is false, and a third of said output conditions isother than true or false and produces an output when said output isother than true or false; using said computer for defining a secondcondition for said movable device; using said computer for graphicallyshowing a connection between said first condition and said secondcondition; and taking an action as an output of said second condition,only after said first condition has been met, and said second conditionhas also been met.
 15. A method as in claim connecting an output of saidfirst condition graphically to said second condition.
 16. A method as inclaim 15, further comprising changing said connection.